import Home from "../pages/home/Home";
import Register from "../pages/register/Register";
import Login from "../pages/login/Login";
import Main from "../pages/main/Main";
import Experiment from "../pages/main/experiment/Experiment";
import Run from "../pages/main/run/Run";
import Protocol from "../pages/main/protocol/Protocol";
import Plate from "../pages/main/plate/Plate";
import Analysis from "../pages/main/analysis/Analysis";
import Calculationdata from "../pages/main/calculation/Analysis";
import Export from "../pages/main/export/Export";
import DataManager from "../pages/main/dataManager/DataManager";
import Help from "../pages/main/help/Help";
import Setting from "../pages/setting/Setting";
import Channel from "../pages/setting/channel/Channel";
import Calibration from "../pages/setting/calibration/Calibration";
import Management from "../pages/setting/Management/Management";
import Quantification from "../pages/main/analysis/components/quantification/Quantification";
import Calculation from "../pages/main/calculation/components/quantification/Calculation";
import MeltCurve from "../pages/main/analysis/components/meltCurve/MeltCurve";
import GeneExpression from "../pages/main/analysis/components/geneExpression/GeneExpression";
import AllelicDiscrimination from "../pages/main/analysis/components/allelicDiscrimination/AllelicDiscrimination";
import QuanlityControl from "../pages/main/analysis/components/quanlityControl/QuanlityControl";
import EndPoint from "../pages/main/analysis/components/endPoint/EndPoint";
import Status from "../pages/main/run/components/status/Status";
import RealtimeCurve from "../pages/main/run/components/realtimeCurve/RealtimeCurve";
import About from "../pages/about/About";


//  路由表配置
const routes = [
  {
    path: "/",
    exact: true,
    component: Login
  }, {
    path: "/register",
    component: Register
  }, {
    path: "/home",
    component: Home
  }, {
    path: "/main",
    component: Main,
    routes: [
      {
        path: "/main",
        exact: true,
        component: Experiment
      }, {
        path: "/main/plate",
        component: Plate
      }, {
        path: "/main/protocol",
        component: Protocol
      }, {
        path: "/main/run",
        component: Run,
        routes: [
          {
            path: "/main/run",
            exact: true,
            component: Status
          }, {
            path: "/main/run/realtimeCurve",
            component: RealtimeCurve
          }
        ]
      }, {
        path: "/main/analysis",
        component: Analysis,
        routes: [{
          path: "/main/analysis",
          exact: true,
          component: Quantification
        }, {
          path: "/main/analysis/meltCurve",
          component: MeltCurve
        }, {
          path: "/main/analysis/geneExpression",
          component: GeneExpression
        }, {
          path: "/main/analysis/allelicDiscrimination",
          component: AllelicDiscrimination
        }, {
          path: "/main/analysis/quanlityControl",
          component: QuanlityControl
        }, {
          path: "/main/analysis/endPoint",
          component: EndPoint
        }]
      }, {
        path: "/main/export",
        component: Export
      }, {
        path: "/main/dataManager",
        component: DataManager
      }, {
        path: "/main/help",
        component: Help
      }, {
        path: "/main/calculation",
        component: Calculationdata,
        routes: [{
          path: "/main/calculation",
          exact: true,
          component: Calculation
        }]
      }
    ]
  }, {
    path: "/setting",
    component: Setting,
    routes: [
      {
        path: "/setting",
        exact: true,
        component: Management
      }, {
        path: "/setting/channel",
        component: Channel
      }, {
        path: "/setting/calibration",
        component: Calibration
      }
    ]
  }, {
    path: "/about",
    component: About
  }
];

export default routes;